<?php
	session_start();
	/*  ini_set("display_errors","1");
		error_reporting(E_ALL);*/
	require_once ("config.php");
  	include ("utils.php");
	include(ROOT_DIR_CLASES.'/cCliente.php');
	//include(ROOT_DIR_CLASES.'/cLogin.php');
  	include(ROOT_DIR_CLASES.'/log.php');
  	include(ROOT_DIR_CLASES.'/posiMovil.php');
  	require_once 'JSON.php';
  	if (!isset($_REQUEST['USUARIOID']) || !isset($_REQUEST['ORDERID'])
  	     || !isset($_REQUEST['ESFLOTA']) || !isset($_REQUEST['cuentaSelectSegui'])
  	     || !isset($_REQUEST['PUBLICKEY']) || !isset($_REQUEST['mapType'])) {
  		log::errorJS('Parametros incorrectos...');
  		exit();
  	}

  	$privateKeyCode = '1@%(&0A';
	$publicKeyCode = PUBLICKEYCODE;
	$resultado = BykomCliente::LoginDataActivation($privateKeyCode.$publicKeyCode);
  	$sRestricciones = $resultado->campo("restricciones",0);
	$vRestricciones = restricciones($sRestricciones);//funcion en utils.php


  	$sessionBykom = BykomCliente::LoginBykom($_REQUEST['USUARIOID'], $_REQUEST['PUBLICKEY']);
  	if ($sessionBykom->cantidad() == 0) {
  		log::errorJS('Sesion expirada...Error 1');
  		exit();
  	} else {
  		$hora = strtotime($sessionBykom->campo('HORA', 0));
  		$caduca = strtotime($sessionBykom->campo('CADUCA', 0));
  		if ($hora > $caduca) {
  			log::errorJS('Sesion expirada...Error 2');
  			exit();
  		}
  	}
	$sPermisosByk = $sessionBykom->campo('PERMISOS', 0);
	$sPermisosByk = "11111;1;1;1";
	if($sPermisosByk!=""){
		$vPermisosByk = explode(";",$sPermisosByk);
		$permisosBykomString = $vPermisosByk[0];
		$permisosBykomString .= $vPermisosByk[1];//crear puntos
		$permisosBykomString .= $vPermisosByk[2];//crear zonas
		$permisosBykomString .= $vPermisosByk[3];//crear rutas
	}
	
	//$permisosBykomString = "1";//CON ESTOS PERMISOS LUEGO SE MATCHEAN CON UN ARRAY DE PERMISOS BYKOM DE 5 POSICIONES (AHORA SE USA SOLO LA POSICION 0)
	$_SESSION['cliente'] = session_id();

	//Emulo un objeto cLogin
	$loginClass = new cLogin();

	foreach($vRestricciones as $key=>$value){
			$loginClass->$key = $value;
	}

	$pos = strpos($loginClass->MAPAS_DISPONIBLES,$_REQUEST['mapType']);
	if($pos === false) {
		//log::errorJS('El tipo de mapa que desea visualizar no esta disponible en el sistema.');
  		//exit();
  		$loginClass->MAPAS_DISPONIBLES = "bykom";
	}
	//$loginClass->MAPAS_DISPONIBLES = "bykom";

	$loginClass->isBykom = 1;
	if ($_REQUEST['ESFLOTA']==1){//es flota
		$loginClass->esFlota 	= 1;
		$loginClass->objetivoDB = 3;
		$loginClass->objetivo 	= 3;
	}elseif($_REQUEST['ESFLOTA']==2){//es fijo
		$loginClass->esFlota 	= 0;
		$loginClass->objetivoDB = 1;
		$loginClass->objetivo 	= 1;
	}else{//es movil
		$loginClass->esFlota = 0;
		$loginClass->objetivoDB = 2;
		$loginClass->objetivo = 2;
	}
	$loginClass->monitoreoWeb = 0;
	$loginClass->cuentaFk = $_REQUEST['ORDERID'];
	$loginClass->envioGPRS = 0;
	$loginClass->envioSMS = 0;
	$loginClass->label = "BYKOM USER";

	$loginClass->generarPermisos();
	if((int)$vPermisosByk[1]==1){//puntos
		$loginClass->PERMISOS[7]=1;//crea/modificar
	}
	if((int)$vPermisosByk[2]==1){//zonas
		$loginClass->PERMISOS[8]=1;//crea/modificar
	}
	if((int)$vPermisosByk[3]==1){//rutas
		$loginClass->PERMISOS[21]=1;//crea/modificar
	}
	$flotaCentralId = $_REQUEST['FLOTACENTRALID'];
	//si crea/modifica puntos o zonas o rutas, crea/modifica logistica
	if( ($loginClass->objetivoDB != 1 || $flotaCentralId!="") && ($loginClass->PERMISOS[7] || $loginClass->PERMISOS[8] || $loginClass->PERMISOS[21]) ){
		$loginClass->PERMISOS[6] = 1;
		$loginClass->PERMISOS[9] = 1;
	}
	$_SESSION['loginClass'] = serialize($loginClass);
	$iEventoMonitoreadoId	= $_REQUEST["EVENTOID"];
	/*if ($_REQUEST['ESFLOTA']==1)
		$_SESSION['objetivo'] = 3;
	else
		$_SESSION['objetivo'] = 2;
	$_SESSION['monitoreoWeb'] = 0;
	$_SESSION['isWebCliente'] = 0; //indicamos qe NO entramos por web-cliente, sino a traves de Bykom
	$_SESSION['uniqueID'] = $_REQUEST['ORDERID'];*/

	include ("multimapas.php");
?>